﻿<%@ Application Language="C#" %>

<script runat="server">

    void Application_Start(object sender, EventArgs e) 
    {
        // 應用程式啟動時執行的程式碼
    }
    
    void Application_End(object sender, EventArgs e) 
    {
        //  應用程式關閉時執行的程式碼

    }
        
    void Application_Error(object sender, EventArgs e) 
    { 
        // 發生未處理錯誤時執行的程式碼
        Message.LastException = Server.GetLastError().GetBaseException();
        string error = Request.Url.ToString();
        Application["error"] = error;
        Server.ClearError();
        //導到Error.aspx
        Response.Redirect("~/Error.aspx");
    }

    void Session_Start(object sender, EventArgs e) 
    {
        // 啟動新工作階段時執行的程式碼
        // Create Mailer object
        Mailer mailer = new Mailer();
        mailer.smtpServer = System.Web.Configuration.WebConfigurationManager.AppSettings["SmtpServer"];
        mailer.port = System.Web.Configuration.WebConfigurationManager.AppSettings["Port"];
        mailer.fromMailAddress = System.Web.Configuration.WebConfigurationManager.AppSettings["FromMailAddress"];
        mailer.mailTo = System.Web.Configuration.WebConfigurationManager.AppSettings["MailTo"];
        mailer.DisplayName = System.Web.Configuration.WebConfigurationManager.AppSettings["DisplayName"];
        Session.Add("sendMail", mailer);

    }

    void Session_End(object sender, EventArgs e) 
    {
        // 工作階段結束時執行的程式碼。 
        // 注意: 只有在 Web.config 檔將 sessionstate 模式設定為 InProc 時，
        // 才會引發 Session_End 事件。如果將工作階段模式設定為 StateServer 
        // 或 SQLServer，就不會引發這個事件。

    }
       
</script>
